SGModalFilterProcPtr = ProcPtr; { FUNCTION SGModalFilter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; refCon: LONGINT): BOOLEAN; }
SGModalFilterUPP = UniversalProcPtr;
CONST
sgPanelFlagForPanel = 1;
seqGrabSettingsPreviewOnly = 1;
TYPE
SGOutputRecordPtr = ^SGOutputRecord;
SGOutputRecord = RECORD
data: ARRAY [0..0] OF LONGINT;
END;
SGOutput = ^SGOutputRecord;
CONST
channelPlayNormal = 0;
channelPlayFast = 1;
channelPlayHighQuality = 2;
channelPlayAllData = 4;
FUNCTION SGInitialize(s: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0001, $7000, $A82A;
{$ENDC}
FUNCTION SGSetDataOutput(s: SeqGrabComponent; {CONST}VAR movieFile: FSSpec; whereFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0002, $7000, $A82A;
{$ENDC}
FUNCTION SGGetDataOutput(s: SeqGrabComponent; VAR movieFile: FSSpec; VAR whereFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0003, $7000, $A82A;
{$ENDC}
FUNCTION SGSetGWorld(s: SeqGrabComponent; gp: CGrafPtr; gd: GDHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0004, $7000, $A82A;
{$ENDC}
FUNCTION SGGetGWorld(s: SeqGrabComponent; VAR gp: CGrafPtr; VAR gd: GDHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0005, $7000, $A82A;
{$ENDC}
FUNCTION SGNewChannel(s: SeqGrabComponent; channelType: OSType; VAR ref: SGChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0006, $7000, $A82A;
{$ENDC}
FUNCTION SGDisposeChannel(s: SeqGrabComponent; c: SGChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0007, $7000, $A82A;
{$ENDC}
FUNCTION SGStartPreview(s: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0010, $7000, $A82A;
{$ENDC}
FUNCTION SGStartRecord(s: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0011, $7000, $A82A;
{$ENDC}
FUNCTION SGIdle(s: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0012, $7000, $A82A;
{$ENDC}
FUNCTION SGStop(s: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0013, $7000, $A82A;
{$ENDC}
FUNCTION SGPause(s: SeqGrabComponent; pause: ByteParameter): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0014, $7000, $A82A;
{$ENDC}
FUNCTION SGPrepare(s: SeqGrabComponent; prepareForPreview: BOOLEAN; prepareForRecord: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0015, $7000, $A82A;
{$ENDC}
FUNCTION SGRelease(s: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0016, $7000, $A82A;
{$ENDC}
FUNCTION SGGetMovie(s: SeqGrabComponent): Movie;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0017, $7000, $A82A;
{$ENDC}
FUNCTION SGSetMaximumRecordTime(s: SeqGrabComponent; ticks: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0018, $7000, $A82A;
{$ENDC}
FUNCTION SGGetMaximumRecordTime(s: SeqGrabComponent; VAR ticks: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0019, $7000, $A82A;
{$ENDC}
FUNCTION SGGetStorageSpaceRemaining(s: SeqGrabComponent; VAR bytes: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001A, $7000, $A82A;
{$ENDC}
FUNCTION SGGetTimeRemaining(s: SeqGrabComponent; VAR ticksLeft: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001B, $7000, $A82A;
{$ENDC}
FUNCTION SGGrabPict(s: SeqGrabComponent; VAR p: PicHandle; {CONST}VAR bounds: Rect; offscreenDepth: INTEGER; grabPictFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000E, $001C, $7000, $A82A;
{$ENDC}
FUNCTION SGGetLastMovieResID(s: SeqGrabComponent; VAR resID: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001D, $7000, $A82A;
{$ENDC}
FUNCTION SGSetFlags(s: SeqGrabComponent; sgFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001E, $7000, $A82A;
{$ENDC}
FUNCTION SGGetFlags(s: SeqGrabComponent; VAR sgFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001F, $7000, $A82A;
{$ENDC}
FUNCTION SGSetDataProc(s: SeqGrabComponent; proc: SGDataUPP; refCon: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0020, $7000, $A82A;
{$ENDC}
FUNCTION SGNewChannelFromComponent(s: SeqGrabComponent; VAR newChannel: SGChannel; sgChannelComponent: Component): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0021, $7000, $A82A;
{$ENDC}
FUNCTION SGDisposeDeviceList(s: SeqGrabComponent; list: SGDeviceList): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0022, $7000, $A82A;
{$ENDC}
{$ENDC}
{$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
FUNCTION SGAppendDeviceListToMenu(s: SeqGrabComponent; list: SGDeviceList; mh: MenuHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0023, $7000, $A82A;
{$ENDC}
{$ENDC}
{$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
FUNCTION SGSetSettings(s: SeqGrabComponent; ud: UserData; flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0024, $7000, $A82A;
{$ENDC}
FUNCTION SGGetSettings(s: SeqGrabComponent; VAR ud: UserData; flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0025, $7000, $A82A;
{$ENDC}
FUNCTION SGGetIndChannel(s: SeqGrabComponent; index: INTEGER; VAR ref: SGChannel; VAR chanType: OSType): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000A, $0026, $7000, $A82A;
{$ENDC}
FUNCTION SGUpdate(s: SeqGrabComponent; updateRgn: RgnHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0027, $7000, $A82A;
{$ENDC}
FUNCTION SGGetPause(s: SeqGrabComponent; VAR paused: Byte): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0028, $7000, $A82A;
{$ENDC}
FUNCTION SGSettingsDialog(s: SeqGrabComponent; c: SGChannel; numPanels: INTEGER; VAR panelList: Component; flags: LONGINT; proc: SGModalFilterUPP; procRefNum: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0016, $0029, $7000, $A82A;
{$ENDC}
FUNCTION SGGetAlignmentProc(s: SeqGrabComponent; alignmentProc: ICMAlignmentProcRecordPtr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $002A, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelSettings(s: SeqGrabComponent; c: SGChannel; ud: UserData; flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $002B, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelSettings(s: SeqGrabComponent; c: SGChannel; VAR ud: UserData; flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $002C, $7000, $A82A;
{$ENDC}
FUNCTION SGGetMode(s: SeqGrabComponent; VAR previewMode: BOOLEAN; VAR recordMode: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $002D, $7000, $A82A;
{$ENDC}
FUNCTION SGSetDataRef(s: SeqGrabComponent; dataRef: Handle; dataRefType: OSType; whereFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $002E, $7000, $A82A;
{$ENDC}
FUNCTION SGGetDataRef(s: SeqGrabComponent; VAR dataRef: Handle; VAR dataRefType: OSType; VAR whereFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $002F, $7000, $A82A;
{$ENDC}
FUNCTION SGNewOutput(s: SeqGrabComponent; dataRef: Handle; dataRefType: OSType; whereFlags: LONGINT; VAR seqOutput: SGOutput): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0030, $7000, $A82A;
{$ENDC}
FUNCTION SGDisposeOutput(s: SeqGrabComponent; seqOutput: SGOutput): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0031, $7000, $A82A;
{$ENDC}
FUNCTION SGSetOutputFlags(s: SeqGrabComponent; seqOutput: SGOutput; whereFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0032, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelOutput(s: SeqGrabComponent; c: SGChannel; seqOutput: SGOutput): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0033, $7000, $A82A;
{$ENDC}
FUNCTION SGGetDataOutputStorageSpaceRemaining(s: SeqGrabComponent; seqOutput: SGOutput; VAR space: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0034, $7000, $A82A;
{$ENDC}
{
calls from Channel to seqGrab
}
FUNCTION SGWriteMovieData(s: SeqGrabComponent; c: SGChannel; p: Ptr; len: LONGINT; VAR offset: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0100, $7000, $A82A;
{$ENDC}
FUNCTION SGAddFrameReference(s: SeqGrabComponent; frameInfo: SeqGrabFrameInfoPtr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0101, $7000, $A82A;
{$ENDC}
FUNCTION SGGetNextFrameReference(s: SeqGrabComponent; frameInfo: SeqGrabFrameInfoPtr; VAR frameDuration: TimeValue; VAR frameNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0102, $7000, $A82A;
{$ENDC}
FUNCTION SGGetTimeBase(s: SeqGrabComponent; VAR tb: TimeBase): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0103, $7000, $A82A;
{$ENDC}
FUNCTION SGSortDeviceList(s: SeqGrabComponent; list: SGDeviceList): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0104, $7000, $A82A;
{$ENDC}
FUNCTION SGAddMovieData(s: SeqGrabComponent; c: SGChannel; p: Ptr; len: LONGINT; VAR offset: LONGINT; chRefCon: LONGINT; time: TimeValue; writeType: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $001A, $0105, $7000, $A82A;
{$ENDC}
FUNCTION SGChangedSource(s: SeqGrabComponent; c: SGChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0106, $7000, $A82A;
{$ENDC}
{ ** Sequence Grab CHANNEL Component Stuff ** }
FUNCTION SGSetChannelUsage(c: SGChannel; usage: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0080, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelUsage(c: SGChannel; VAR usage: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0081, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelBounds(c: SGChannel; {CONST}VAR bounds: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0082, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelBounds(c: SGChannel; VAR bounds: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0083, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelVolume(c: SGChannel; volume: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0084, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelVolume(c: SGChannel; VAR volume: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0085, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelInfo(c: SGChannel; VAR channelInfo: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0086, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelPlayFlags(c: SGChannel; playFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0087, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelPlayFlags(c: SGChannel; VAR playFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0088, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelMaxFrames(c: SGChannel; frameCount: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0089, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelMaxFrames(c: SGChannel; VAR frameCount: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $008A, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelRefCon(c: SGChannel; refCon: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $008B, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelClip(c: SGChannel; theClip: RgnHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $008C, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelClip(c: SGChannel; VAR theClip: RgnHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $008D, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelSampleDescription(c: SGChannel; sampleDesc: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $008E, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelDeviceList(c: SGChannel; selectionFlags: LONGINT; VAR list: SGDeviceList): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $008F, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelDevice(c: SGChannel; name: StringPtr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0090, $7000, $A82A;
{$ENDC}
FUNCTION SGSetChannelMatrix(c: SGChannel; {CONST}VAR m: MatrixRecord): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0091, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelMatrix(c: SGChannel; VAR m: MatrixRecord): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0092, $7000, $A82A;
{$ENDC}
FUNCTION SGGetChannelTimeScale(c: SGChannel; VAR scale: TimeScale): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0093, $7000, $A82A;
{$ENDC}
FUNCTION SGChannelPutPicture(c: SGChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0094, $7000, $A82A;
{$ENDC}
FUNCTION SGChannelSetRequestedDataRate(c: SGChannel; bytesPerSecond: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0095, $7000, $A82A;
{$ENDC}
FUNCTION SGChannelGetRequestedDataRate(c: SGChannel; VAR bytesPerSecond: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0096, $7000, $A82A;
{$ENDC}
FUNCTION SGChannelSetDataSourceName(c: SGChannel; name: Str255; scriptTag: ScriptCode): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0097, $7000, $A82A;
{$ENDC}
FUNCTION SGChannelGetDataSourceName(c: SGChannel; VAR name: Str255; VAR scriptTag: ScriptCode): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0098, $7000, $A82A;
{$ENDC}
{
calls from seqGrab to Channel
}
FUNCTION SGInitChannel(c: SGChannel; owner: SeqGrabComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0180, $7000, $A82A;
{$ENDC}
FUNCTION SGWriteSamples(c: SGChannel; m: Movie; theFile: AliasHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0181, $7000, $A82A;
{$ENDC}
FUNCTION SGGetDataRate(c: SGChannel; VAR bytesPerSecond: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0182, $7000, $A82A;
{$ENDC}
FUNCTION SGAlignChannelRect(c: SGChannel; VAR r: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0183, $7000, $A82A;
{$ENDC}
{
Dorky dialog panel calls
}
FUNCTION SGPanelGetDitl(s: SeqGrabComponent; VAR ditl: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0200, $7000, $A82A;
{$ENDC}
FUNCTION SGPanelGetTitle(s: SeqGrabComponent; VAR title: Str255): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0201, $7000, $A82A;
{$ENDC}
FUNCTION SGPanelCanRun(s: SeqGrabComponent; c: SGChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0202, $7000, $A82A;
{$ENDC}
FUNCTION SGPanelInstall(s: SeqGrabComponent; c: SGChannel; d: DialogPtr; itemOffset: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000A, $0203, $7000, $A82A;
{$ENDC}
FUNCTION SGPanelEvent(s: SeqGrabComponent; c: SGChannel; d: DialogPtr; itemOffset: INTEGER; VAR theEvent: EventRecord; VAR itemHit: INTEGER; VAR handled: BOOLEAN): ComponentResult;
SGTransferFrameProcPtr = ProcPtr; { FUNCTION SGTransferFrame(c: SGChannel; bufferNum: INTEGER; VAR mp: MatrixRecord; clipRgn: RgnHandle; refCon: LONGINT): ComponentResult; }
SGGrabCompressCompleteProcPtr = ProcPtr; { FUNCTION SGGrabCompressComplete(c: SGChannel; VAR done: BOOLEAN; VAR ci: SGCompressInfo; VAR t: TimeRecord; refCon: LONGINT): ComponentResult; }
SGDisplayCompressProcPtr = ProcPtr; { FUNCTION SGDisplayCompress(c: SGChannel; dataPtr: Ptr; desc: ImageDescriptionHandle; VAR mp: MatrixRecord; clipRgn: RgnHandle; refCon: LONGINT): ComponentResult; }
FUNCTION SGGetVideoCompressor(c: SGChannel; VAR depth: INTEGER; VAR compressor: CompressorComponent; VAR spatialQuality: CodecQ; VAR temporalQuality: CodecQ; VAR keyFrameRate: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0014, $0106, $7000, $A82A;
{$ENDC}
FUNCTION SGGetVideoDigitizerComponent(c: SGChannel): ComponentInstance;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0107, $7000, $A82A;
{$ENDC}
FUNCTION SGSetVideoDigitizerComponent(c: SGChannel; vdig: ComponentInstance): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0108, $7000, $A82A;
{$ENDC}
FUNCTION SGVideoDigitizerChanged(c: SGChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0109, $7000, $A82A;
{$ENDC}
FUNCTION SGSetVideoBottlenecks(c: SGChannel; VAR vb: VideoBottles): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $010A, $7000, $A82A;
{$ENDC}
FUNCTION SGGetVideoBottlenecks(c: SGChannel; VAR vb: VideoBottles): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $010B, $7000, $A82A;
{$ENDC}
FUNCTION SGGrabFrame(c: SGChannel; bufferNum: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $010C, $7000, $A82A;
{$ENDC}
FUNCTION SGGrabFrameComplete(c: SGChannel; bufferNum: INTEGER; VAR done: BOOLEAN): ComponentResult;
FUNCTION SGSetCompressBuffer(c: SGChannel; depth: INTEGER; {CONST}VAR compressSize: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0113, $7000, $A82A;
{$ENDC}
FUNCTION SGGetCompressBuffer(c: SGChannel; VAR depth: INTEGER; VAR compressSize: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0114, $7000, $A82A;
{$ENDC}
FUNCTION SGGetBufferInfo(c: SGChannel; bufferNum: INTEGER; VAR bufferPM: PixMapHandle; VAR bufferRect: Rect; VAR compressBuffer: GWorldPtr; VAR compressBufferRect: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0012, $0115, $7000, $A82A;
{$ENDC}
FUNCTION SGSetUseScreenBuffer(c: SGChannel; useScreenBuffer: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0116, $7000, $A82A;
{$ENDC}
FUNCTION SGGetUseScreenBuffer(c: SGChannel; VAR useScreenBuffer: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0117, $7000, $A82A;
{$ENDC}
FUNCTION SGGrabCompressComplete(c: SGChannel; VAR done: BOOLEAN; VAR ci: SGCompressInfo; VAR tr: TimeRecord): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0118, $7000, $A82A;
{$ENDC}
FUNCTION SGDisplayCompress(c: SGChannel; dataPtr: Ptr; desc: ImageDescriptionHandle; VAR mp: MatrixRecord; clipRgn: RgnHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0119, $7000, $A82A;
{$ENDC}
FUNCTION SGSetFrameRate(c: SGChannel; frameRate: Fixed): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $011A, $7000, $A82A;
{$ENDC}
FUNCTION SGGetFrameRate(c: SGChannel; VAR frameRate: Fixed): ComponentResult;
FUNCTION VDGetMaxSrcRect(ci: VideoDigitizerComponent; inputStd: INTEGER; VAR maxSrcRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0001, $7000, $A82A;
{$ENDC}
FUNCTION VDGetActiveSrcRect(ci: VideoDigitizerComponent; inputStd: INTEGER; VAR activeSrcRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0002, $7000, $A82A;
{$ENDC}
FUNCTION VDSetDigitizerRect(ci: VideoDigitizerComponent; VAR digitizerRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0003, $7000, $A82A;
{$ENDC}
FUNCTION VDGetDigitizerRect(ci: VideoDigitizerComponent; VAR digitizerRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0004, $7000, $A82A;
{$ENDC}
FUNCTION VDGetVBlankRect(ci: VideoDigitizerComponent; inputStd: INTEGER; VAR vBlankRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0005, $7000, $A82A;
{$ENDC}
FUNCTION VDGetMaskPixMap(ci: VideoDigitizerComponent; maskPixMap: PixMapHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0006, $7000, $A82A;
{$ENDC}
FUNCTION VDGetPlayThruDestination(ci: VideoDigitizerComponent; VAR dest: PixMapHandle; VAR destRect: Rect; VAR m: MatrixRecord; VAR mask: RgnHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0008, $7000, $A82A;
{$ENDC}
FUNCTION VDUseThisCLUT(ci: VideoDigitizerComponent; colorTableHandle: CTabHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0009, $7000, $A82A;
{$ENDC}
FUNCTION VDSetInputGammaValue(ci: VideoDigitizerComponent; channel1: Fixed; channel2: Fixed; channel3: Fixed): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000A, $7000, $A82A;
{$ENDC}
FUNCTION VDGetInputGammaValue(ci: VideoDigitizerComponent; VAR channel1: Fixed; VAR channel2: Fixed; VAR channel3: Fixed): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000B, $7000, $A82A;
{$ENDC}
FUNCTION VDSetBrightness(ci: VideoDigitizerComponent; VAR brightness: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000C, $7000, $A82A;
{$ENDC}
FUNCTION VDGetBrightness(ci: VideoDigitizerComponent; VAR brightness: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000D, $7000, $A82A;
{$ENDC}
FUNCTION VDSetContrast(ci: VideoDigitizerComponent; VAR contrast: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000E, $7000, $A82A;
{$ENDC}
FUNCTION VDSetHue(ci: VideoDigitizerComponent; VAR hue: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000F, $7000, $A82A;
{$ENDC}
FUNCTION VDSetSharpness(ci: VideoDigitizerComponent; VAR sharpness: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0010, $7000, $A82A;
{$ENDC}
FUNCTION VDSetSaturation(ci: VideoDigitizerComponent; VAR saturation: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0011, $7000, $A82A;
{$ENDC}
FUNCTION VDGetContrast(ci: VideoDigitizerComponent; VAR contrast: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0012, $7000, $A82A;
{$ENDC}
FUNCTION VDGetHue(ci: VideoDigitizerComponent; VAR hue: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0013, $7000, $A82A;
{$ENDC}
FUNCTION VDGetSharpness(ci: VideoDigitizerComponent; VAR sharpness: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0014, $7000, $A82A;
{$ENDC}
FUNCTION VDGetSaturation(ci: VideoDigitizerComponent; VAR saturation: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0015, $7000, $A82A;
{$ENDC}
FUNCTION VDGrabOneFrame(ci: VideoDigitizerComponent): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0016, $7000, $A82A;
{$ENDC}
FUNCTION VDGetMaxAuxBuffer(ci: VideoDigitizerComponent; VAR pm: PixMapHandle; VAR r: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0017, $7000, $A82A;
{$ENDC}
FUNCTION VDGetDigitizerInfo(ci: VideoDigitizerComponent; VAR info: DigitizerInfo): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0019, $7000, $A82A;
{$ENDC}
FUNCTION VDGetCurrentFlags(ci: VideoDigitizerComponent; VAR inputCurrentFlag: LONGINT; VAR outputCurrentFlag: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001A, $7000, $A82A;
{$ENDC}
FUNCTION VDSetKeyColor(ci: VideoDigitizerComponent; index: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001B, $7000, $A82A;
{$ENDC}
FUNCTION VDGetKeyColor(ci: VideoDigitizerComponent; VAR index: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001C, $7000, $A82A;
{$ENDC}
FUNCTION VDAddKeyColor(ci: VideoDigitizerComponent; VAR index: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001D, $7000, $A82A;
{$ENDC}
FUNCTION VDGetNextKeyColor(ci: VideoDigitizerComponent; index: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $001E, $7000, $A82A;
{$ENDC}
FUNCTION VDSetKeyColorRange(ci: VideoDigitizerComponent; VAR minRGB: RGBColor; VAR maxRGB: RGBColor): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001F, $7000, $A82A;
{$ENDC}
FUNCTION VDGetKeyColorRange(ci: VideoDigitizerComponent; VAR minRGB: RGBColor; VAR maxRGB: RGBColor): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0020, $7000, $A82A;
{$ENDC}
FUNCTION VDSetDigitizerUserInterrupt(ci: VideoDigitizerComponent; flags: LONGINT; userInterruptProc: VdigIntUPP; refcon: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0021, $7000, $A82A;
{$ENDC}
FUNCTION VDSetInputColorSpaceMode(ci: VideoDigitizerComponent; colorSpaceMode: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0022, $7000, $A82A;
{$ENDC}
FUNCTION VDGetInputColorSpaceMode(ci: VideoDigitizerComponent; VAR colorSpaceMode: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0023, $7000, $A82A;
{$ENDC}
FUNCTION VDSetClipState(ci: VideoDigitizerComponent; clipEnable: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0024, $7000, $A82A;
{$ENDC}
FUNCTION VDGetClipState(ci: VideoDigitizerComponent; VAR clipEnable: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0025, $7000, $A82A;
{$ENDC}
FUNCTION VDSetClipRgn(ci: VideoDigitizerComponent; clipRegion: RgnHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0026, $7000, $A82A;
{$ENDC}
FUNCTION VDClearClipRgn(ci: VideoDigitizerComponent; clipRegion: RgnHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0027, $7000, $A82A;
{$ENDC}
FUNCTION VDGetCLUTInUse(ci: VideoDigitizerComponent; VAR colorTableHandle: CTabHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0028, $7000, $A82A;
{$ENDC}
FUNCTION VDSetPLLFilterType(ci: VideoDigitizerComponent; pllType: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0029, $7000, $A82A;
{$ENDC}
FUNCTION VDGetPLLFilterType(ci: VideoDigitizerComponent; VAR pllType: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $002A, $7000, $A82A;
{$ENDC}
FUNCTION VDGetMaskandValue(ci: VideoDigitizerComponent; blendLevel: INTEGER; VAR mask: LONGINT; VAR value: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000A, $002B, $7000, $A82A;
{$ENDC}
FUNCTION VDSetMasterBlendLevel(ci: VideoDigitizerComponent; VAR blendLevel: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $002C, $7000, $A82A;
{$ENDC}
FUNCTION VDSetPlayThruDestination(ci: VideoDigitizerComponent; dest: PixMapHandle; VAR destRect: Rect; VAR m: MatrixRecord; mask: RgnHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $002D, $7000, $A82A;
{$ENDC}
FUNCTION VDSetPlayThruOnOff(ci: VideoDigitizerComponent; state: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $002E, $7000, $A82A;
{$ENDC}
FUNCTION VDSetFieldPreference(ci: VideoDigitizerComponent; fieldFlag: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $002F, $7000, $A82A;
{$ENDC}
FUNCTION VDGetFieldPreference(ci: VideoDigitizerComponent; VAR fieldFlag: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0030, $7000, $A82A;
{$ENDC}
FUNCTION VDPreflightDestination(ci: VideoDigitizerComponent; VAR digitizerRect: Rect; VAR dest: PixMapPtr; VAR destRect: Rect; VAR m: MatrixRecord): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0032, $7000, $A82A;
{$ENDC}
FUNCTION VDPreflightGlobalRect(ci: VideoDigitizerComponent; theWindow: GrafPtr; VAR globalRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0033, $7000, $A82A;
{$ENDC}
FUNCTION VDSetPlayThruGlobalRect(ci: VideoDigitizerComponent; theWindow: GrafPtr; VAR globalRect: Rect): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0034, $7000, $A82A;
{$ENDC}
FUNCTION VDSetInputGammaRecord(ci: VideoDigitizerComponent; inputGammaPtr: VDGamRecPtr): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0035, $7000, $A82A;
{$ENDC}
FUNCTION VDGetInputGammaRecord(ci: VideoDigitizerComponent; VAR inputGammaPtr: VDGamRecPtr): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0036, $7000, $A82A;
{$ENDC}
FUNCTION VDSetBlackLevelValue(ci: VideoDigitizerComponent; VAR blackLevel: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0037, $7000, $A82A;
{$ENDC}
FUNCTION VDGetBlackLevelValue(ci: VideoDigitizerComponent; VAR blackLevel: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0038, $7000, $A82A;
{$ENDC}
FUNCTION VDSetWhiteLevelValue(ci: VideoDigitizerComponent; VAR whiteLevel: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0039, $7000, $A82A;
{$ENDC}
FUNCTION VDGetWhiteLevelValue(ci: VideoDigitizerComponent; VAR whiteLevel: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $003A, $7000, $A82A;
{$ENDC}
FUNCTION VDGetVideoDefaults(ci: VideoDigitizerComponent; VAR blackLevel: INTEGER; VAR whiteLevel: INTEGER; VAR brightness: INTEGER; VAR hue: INTEGER; VAR saturation: INTEGER; VAR contrast: INTEGER; VAR sharpness: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $001C, $003B, $7000, $A82A;
{$ENDC}
FUNCTION VDGetNumberOfInputs(ci: VideoDigitizerComponent; VAR inputs: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $003C, $7000, $A82A;
{$ENDC}
FUNCTION VDGetInputFormat(ci: VideoDigitizerComponent; input: INTEGER; VAR format: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $003D, $7000, $A82A;
{$ENDC}
FUNCTION VDSetInput(ci: VideoDigitizerComponent; input: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $003E, $7000, $A82A;
{$ENDC}
FUNCTION VDGetInput(ci: VideoDigitizerComponent; VAR input: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $003F, $7000, $A82A;
{$ENDC}
FUNCTION VDSetInputStandard(ci: VideoDigitizerComponent; inputStandard: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0040, $7000, $A82A;
{$ENDC}
FUNCTION VDSetupBuffers(ci: VideoDigitizerComponent; bufferList: VdigBufferRecListHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0041, $7000, $A82A;
{$ENDC}
FUNCTION VDGrabOneFrameAsync(ci: VideoDigitizerComponent; buffer: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0042, $7000, $A82A;
{$ENDC}
FUNCTION VDDone(ci: VideoDigitizerComponent; buffer: INTEGER): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0043, $7000, $A82A;
{$ENDC}
FUNCTION VDSetCompression(ci: VideoDigitizerComponent; compressType: OSType; depth: INTEGER; VAR bounds: Rect; spatialQuality: CodecQ; temporalQuality: CodecQ; keyFrameRate: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0016, $0044, $7000, $A82A;
{$ENDC}
FUNCTION VDCompressOneFrameAsync(ci: VideoDigitizerComponent): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0045, $7000, $A82A;
{$ENDC}
FUNCTION VDCompressDone(ci: VideoDigitizerComponent; VAR done: BOOLEAN; VAR theData: Ptr; VAR dataSize: LONGINT; VAR similarity: UInt8; VAR t: TimeRecord): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0014, $0046, $7000, $A82A;
{$ENDC}
FUNCTION VDReleaseCompressBuffer(ci: VideoDigitizerComponent; bufferAddr: Ptr): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0047, $7000, $A82A;
{$ENDC}
FUNCTION VDGetImageDescription(ci: VideoDigitizerComponent; desc: ImageDescriptionHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0048, $7000, $A82A;
{$ENDC}
FUNCTION VDResetCompressSequence(ci: VideoDigitizerComponent): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0049, $7000, $A82A;
{$ENDC}
FUNCTION VDSetCompressionOnOff(ci: VideoDigitizerComponent; state: BOOLEAN): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $004A, $7000, $A82A;
{$ENDC}
FUNCTION VDGetCompressionTypes(ci: VideoDigitizerComponent; h: VDCompressionListHandle): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $004B, $7000, $A82A;
{$ENDC}
FUNCTION VDSetTimeBase(ci: VideoDigitizerComponent; t: TimeBase): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $004C, $7000, $A82A;
{$ENDC}
FUNCTION VDSetFrameRate(ci: VideoDigitizerComponent; framesPerSecond: Fixed): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $004D, $7000, $A82A;
{$ENDC}
FUNCTION VDGetDataRate(ci: VideoDigitizerComponent; VAR milliSecPerFrame: LONGINT; VAR framesPerSecond: Fixed; VAR bytesPerSecond: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $004E, $7000, $A82A;
{$ENDC}
FUNCTION VDGetSoundInputDriver(ci: VideoDigitizerComponent; VAR soundDriverName: Str255): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $004F, $7000, $A82A;
{$ENDC}
FUNCTION VDGetDMADepths(ci: VideoDigitizerComponent; VAR depthArray: LONGINT; VAR preferredDepth: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0050, $7000, $A82A;
{$ENDC}
FUNCTION VDGetPreferredTimeScale(ci: VideoDigitizerComponent; VAR preferred: TimeScale): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0051, $7000, $A82A;
{$ENDC}
FUNCTION VDReleaseAsyncBuffers(ci: VideoDigitizerComponent): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0052, $7000, $A82A;
{$ENDC}
{ 83 is reserved for compatibility reasons }
FUNCTION VDSetDataRate(ci: VideoDigitizerComponent; bytesPerSecond: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0054, $7000, $A82A;
{$ENDC}
FUNCTION VDGetTimeCode(ci: VideoDigitizerComponent; VAR atTime: TimeRecord; timeCodeFormat: UNIV Ptr; timeCodeTime: UNIV Ptr): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0055, $7000, $A82A;
{$ENDC}
FUNCTION VDUseSafeBuffers(ci: VideoDigitizerComponent; useSafeBuffers: BOOLEAN): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $0056, $7000, $A82A;
{$ENDC}
FUNCTION VDGetSoundInputSource(ci: VideoDigitizerComponent; videoInput: LONGINT; VAR soundInput: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0057, $7000, $A82A;
{$ENDC}
FUNCTION VDGetCompressionTime(ci: VideoDigitizerComponent; compressionType: OSType; depth: INTEGER; VAR srcRect: Rect; VAR spatialQuality: CodecQ; VAR temporalQuality: CodecQ; VAR compressTime: LONGINT): VideoDigitizerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0016, $0058, $7000, $A82A;
{$ENDC}
CONST
kSelectVDGetMaxSrcRect = $01;
kSelectVDGetActiveSrcRect = $02;
kSelectVDSetDigitizerRect = $03;
kSelectVDGetDigitizerRect = $04;
kSelectVDGetVBlankRect = $05;
kSelectVDGetMaskPixMap = $06;
kSelectVDGetPlayThruDestination = $08;
kSelectVDUseThisCLUT = $09;
kSelectVDSetInputGammaValue = $0A;
kSelectVDGetInputGammaValue = $0B;
kSelectVDSetBrightness = $0C;
kSelectVDGetBrightness = $0D;
kSelectVDSetContrast = $0E;
kSelectVDSetHue = $0F;
kSelectVDSetSharpness = $10;
kSelectVDSetSaturation = $11;
kSelectVDGetContrast = $12;
kSelectVDGetHue = $13;
kSelectVDGetSharpness = $14;
kSelectVDGetSaturation = $15;
kSelectVDGrabOneFrame = $16;
kSelectVDGetMaxAuxBuffer = $17;
kSelectVDGetDigitizerInfo = $19;
kSelectVDGetCurrentFlags = $1A;
kSelectVDSetKeyColor = $1B;
kSelectVDGetKeyColor = $1C;
kSelectVDAddKeyColor = $1D;
kSelectVDGetNextKeyColor = $1E;
kSelectVDSetKeyColorRange = $1F;
kSelectVDGetKeyColorRange = $20;
kSelectVDSetDigitizerUserInterrupt = $21;
kSelectVDSetInputColorSpaceMode = $22;
kSelectVDGetInputColorSpaceMode = $23;
kSelectVDSetClipState = $24;
kSelectVDGetClipState = $25;
kSelectVDSetClipRgn = $26;
kSelectVDClearClipRgn = $27;
kSelectVDGetCLUTInUse = $28;
kSelectVDSetPLLFilterType = $29;
kSelectVDGetPLLFilterType = $2A;
kSelectVDGetMaskandValue = $2B;
kSelectVDSetMasterBlendLevel = $2C;
kSelectVDSetPlayThruDestination = $2D;
kSelectVDSetPlayThruOnOff = $2E;
kSelectVDSetFieldPreference = $2F;
kSelectVDGetFieldPreference = $30;
kSelectVDPreflightDestination = $32;
kSelectVDPreflightGlobalRect = $33;
kSelectVDSetPlayThruGlobalRect = $34;
kSelectVDSetInputGammaRecord = $35;
kSelectVDGetInputGammaRecord = $36;
kSelectVDSetBlackLevelValue = $37;
kSelectVDGetBlackLevelValue = $38;
kSelectVDSetWhiteLevelValue = $39;
kSelectVDGetWhiteLevelValue = $3A;
kSelectVDGetVideoDefaults = $3B;
kSelectVDGetNumberOfInputs = $3C;
kSelectVDGetInputFormat = $3D;
kSelectVDSetInput = $3E;
kSelectVDGetInput = $3F;
kSelectVDSetInputStandard = $40;
kSelectVDSetupBuffers = $41;
kSelectVDGrabOneFrameAsync = $42;
kSelectVDDone = $43;
kSelectVDSetCompression = $44;
kSelectVDCompressOneFrameAsync = $45;
kSelectVDCompressDone = $46;
kSelectVDReleaseCompressBuffer = $47;
kSelectVDGetImageDescription = $48;
kSelectVDResetCompressSequence = $49;
kSelectVDSetCompressionOnOff = $4A;
kSelectVDGetCompressionTypes = $4B;
kSelectVDSetTimeBase = $4C;
kSelectVDSetFrameRate = $4D;
kSelectVDGetDataRate = $4E;
kSelectVDGetSoundInputDriver = $4F;
kSelectVDGetDMADepths = $50;
kSelectVDGetPreferredTimeScale = $51;
kSelectVDReleaseAsyncBuffers = $52;
kSelectVDSetDataRate = $54;
kSelectVDGetTimeCode = $55;
kSelectVDUseSafeBuffers = $56;
kSelectVDGetSoundInputSource = $57;
kSelectVDGetCompressionTime = $58;
StandardCompressionType = 'scdi';
StandardCompressionSubType = 'imag';
TYPE
SCModalFilterProcPtr = ProcPtr; { FUNCTION SCModalFilter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; refcon: LONGINT): BOOLEAN; }
scSpatialSettingsType = 'sptl'; { pointer to SCSpatialSettings struct }
scTemporalSettingsType = 'tprl'; { pointer to SCTemporalSettings struct }
scDataRateSettingsType = 'drat'; { pointer to SCDataRateSettings struct }
scColorTableType = 'clut'; { pointer to CTabHandle }
scProgressProcType = 'prog'; { pointer to ProgressRecord struct }
scExtendedProcsType = 'xprc'; { pointer to SCExtendedProcs struct }
scPreferenceFlagsType = 'pref'; { pointer to long }
scSettingsStateType = 'ssta'; { pointer to Handle }
scSequenceIDType = 'sequ'; { pointer to ImageSequence }
scWindowPositionType = 'wndw'; { pointer to Point }
scCodecFlagsType = 'cflg'; { pointer to CodecFlags }
scCodecSettingsType = 'cdec'; { pointer to Handle }
scForceKeyValueType = 'ksim'; { pointer to long }
{ scTypeNotFoundErr returned by Get/SetInfo when type cannot be found. }
{ * These are Progress procedures * }
FUNCTION SCPositionRect(ci: ComponentInstance; VAR rp: Rect; VAR where: Point): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0002, $7000, $A82A;
{$ENDC}
FUNCTION SCPositionDialog(ci: ComponentInstance; id: INTEGER; VAR where: Point): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0003, $7000, $A82A;
{$ENDC}
FUNCTION SCSetTestImagePictHandle(ci: ComponentInstance; testPict: PicHandle; VAR testRect: Rect; testFlags: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000A, $0004, $7000, $A82A;
{$ENDC}
FUNCTION SCSetTestImagePictFile(ci: ComponentInstance; testFileRef: INTEGER; VAR testRect: Rect; testFlags: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0005, $7000, $A82A;
{$ENDC}
FUNCTION SCSetTestImagePixMap(ci: ComponentInstance; testPixMap: PixMapHandle; VAR testRect: Rect; testFlags: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000A, $0006, $7000, $A82A;
{$ENDC}
FUNCTION SCGetBestDeviceRect(ci: ComponentInstance; VAR r: Rect): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0007, $7000, $A82A;
{$ENDC}
FUNCTION SCRequestImageSettings(ci: ComponentInstance): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $000A, $7000, $A82A;
{$ENDC}
FUNCTION SCCompressImage(ci: ComponentInstance; src: PixMapHandle; {CONST}VAR srcRect: Rect; VAR desc: ImageDescriptionHandle; VAR data: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $000B, $7000, $A82A;
{$ENDC}
FUNCTION SCCompressPicture(ci: ComponentInstance; srcPicture: PicHandle; dstPicture: PicHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $000C, $7000, $A82A;
{$ENDC}
FUNCTION SCCompressPictureFile(ci: ComponentInstance; srcRefNum: INTEGER; dstRefNum: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000D, $7000, $A82A;
{$ENDC}
FUNCTION SCRequestSequenceSettings(ci: ComponentInstance): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $000E, $7000, $A82A;
{$ENDC}
FUNCTION SCCompressSequenceBegin(ci: ComponentInstance; src: PixMapHandle; {CONST}VAR srcRect: Rect; VAR desc: ImageDescriptionHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000F, $7000, $A82A;
{$ENDC}
FUNCTION SCCompressSequenceFrame(ci: ComponentInstance; src: PixMapHandle; {CONST}VAR srcRect: Rect; VAR data: Handle; VAR dataSize: LONGINT; VAR notSyncFlag: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0014, $0010, $7000, $A82A;
{$ENDC}
FUNCTION SCCompressSequenceEnd(ci: ComponentInstance): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0011, $7000, $A82A;
{$ENDC}
FUNCTION SCDefaultPictHandleSettings(ci: ComponentInstance; srcPicture: PicHandle; motion: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0012, $7000, $A82A;
{$ENDC}
FUNCTION SCDefaultPictFileSettings(ci: ComponentInstance; srcRef: INTEGER; motion: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0013, $7000, $A82A;
{$ENDC}
FUNCTION SCDefaultPixMapSettings(ci: ComponentInstance; src: PixMapHandle; motion: INTEGER): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0006, $0014, $7000, $A82A;
{$ENDC}
FUNCTION SCGetInfo(ci: ComponentInstance; infoType: OSType; info: UNIV Ptr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0015, $7000, $A82A;
{$ENDC}
FUNCTION SCSetInfo(ci: ComponentInstance; infoType: OSType; info: UNIV Ptr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0016, $7000, $A82A;
{$ENDC}
FUNCTION SCNewGWorld(ci: ComponentInstance; VAR gwp: GWorldPtr; VAR rp: Rect; flags: GWorldFlags): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0017, $7000, $A82A;
{$ENDC}
FUNCTION SCSetCompressFlags(ci: ComponentInstance; flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0018, $7000, $A82A;
{$ENDC}
FUNCTION SCGetCompressFlags(ci: ComponentInstance; VAR flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0019, $7000, $A82A;
{$ENDC}
TYPE
SCParamsPtr = ^SCParams;
SCParams = RECORD
flags: LONGINT;
theCodecType: CodecType;
theCodec: CodecComponent;
spatialQuality: CodecQ;
temporalQuality: CodecQ;
depth: INTEGER;
frameRate: Fixed;
keyFrameRate: LONGINT;
reserved1: LONGINT;
reserved2: LONGINT;
END;
CONST
scGetCompression = 1;
scShowMotionSettings = $00000001;
scSettingsChangedItem = -1;
scCompressFlagIgnoreIdenticalFrames = 1;
FUNCTION SCGetCompressionExtended(ci: ComponentInstance; VAR params: SCParams; where: Point; filterProc: SCModalFilterUPP; hookProc: SCModalHookUPP; refcon: LONGINT; customName: StringPtr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0018, $0001, $7000, $A82A;
{$ENDC}
CONST
kSCPositionRectSelect = $02;
kSCPositionDialogSelect = $03;
kSCSetTestImagePictHandleSelect = $04;
kSCSetTestImagePictFileSelect = $05;
kSCSetTestImagePixMapSelect = $06;
kSCGetBestDeviceRectSelect = $07;
kSCRequestImageSettingsSelect = $0A;
kSCCompressImageSelect = $0B;
kSCCompressPictureSelect = $0C;
kSCCompressPictureFileSelect = $0D;
kSCRequestSequenceSettingsSelect = $0E;
kSCCompressSequenceBeginSelect = $0F;
kSCCompressSequenceFrameSelect = $10;
kSCCompressSequenceEndSelect = $11;
kSCDefaultPictHandleSettingsSelect = $12;
kSCDefaultPictFileSettingsSelect = $13;
kSCDefaultPixMapSettingsSelect = $14;
kSCGetInfoSelect = $15;
kSCSetInfoSelect = $16;
kSCNewGWorldSelect = $17;
kSCSetCompressFlagsSelect = $18;
kSCGetCompressFlagsSelect = $19;
kSCGetCompressionExtendedSelect = $01;
TYPE
MovieImportComponent = ComponentInstance;
MovieExportComponent = ComponentInstance;
CONST
MovieImportType = 'eat ';
MovieExportType = 'spit';
canMovieImportHandles = $01;
canMovieImportFiles = $02;
hasMovieImportUserInterface = $04;
canMovieExportHandles = $08;
canMovieExportFiles = $10;
hasMovieExportUserInterface = $20;
dontAutoFileMovieImport = $40;
canMovieExportAuxDataHandle = $80;
canMovieImportValidateHandles = $0100;
canMovieImportValidateFile = $0200;
dontRegisterWithEasyOpen = $0400;
canMovieImportInPlace = $0800;
movieImportSubTypeIsFileExtension = $1000;
kMovieImportExportOpenSelect = -1;
kMovieImportExportCloseSelect = -2;
kMovieImportExportCanDoSelect = -3;
kMovieImportExportVersionSelect = -4;
kMovieImportExportTargetSelect = -6;
kMovieImportHandleSelect = 1;
kMovieImportFileSelect = 2;
kMovieImportSetSampleDurationSelect = 3;
kMovieImportSetSampleDescriptionSelect = 4;
kMovieImportSetMediaFileSelect = 5;
kMovieImportSetDimensionsSelect = 6;
kMovieImportSetChunkSizeSelect = 7;
kMovieImportSetProgressProcSelect = 8;
kMovieImportSetAuxiliaryDataSelect = 9;
kMovieImportSetFromScrapSelect = 10;
kMovieImportDoUserDialogSelect = 11;
kMovieImportSetDurationSelect = 12;
kMovieImportGetAuxiliaryDataTypeSelect = 13;
kMovieImportValidateSelect = 14;
kMovieImportGetFileTypeSelect = 15;
kMovieExportToHandleSelect = 128;
kMovieExportToFileSelect = 129;
kMovieExportDoUserDialogSelectOBSOLETE = 130;
kMovieExportGetAuxiliaryDataSelect = 131;
kMovieExportSetProgressProcSelect = 132;
kMovieExportSetSampleDescriptionSelect = 133;
kMovieExportDoUserDialogSelect = 134;
kMovieExportGetCreatorTypeSelect = 135;
movieImportCreateTrack = 1;
movieImportInParallel = 2;
movieImportMustUseTrack = 4;
movieImportResultUsedMultipleTracks = 8;
kMovieExportTextOnly = 0;
kMovieExportAbsoluteTime = 1;
kMovieExportRelativeTime = 2;
FUNCTION MovieImportHandle(ci: MovieImportComponent; dataH: Handle; theMovie: Movie; targetTrack: Track; VAR usedTrack: Track; atTime: TimeValue; VAR addedDuration: TimeValue; inFlags: LONGINT; VAR outFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0020, $0001, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportFile(ci: MovieImportComponent; {CONST}VAR theFile: FSSpec; theMovie: Movie; targetTrack: Track; VAR usedTrack: Track; atTime: TimeValue; VAR addedDuration: TimeValue; inFlags: LONGINT; VAR outFlags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0020, $0002, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetSampleDuration(ci: MovieImportComponent; duration: TimeValue; scale: TimeScale): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0003, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetSampleDescription(ci: MovieImportComponent; desc: SampleDescriptionHandle; mediaType: OSType): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0004, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetMediaFile(ci: MovieImportComponent; alias: AliasHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0005, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetDimensions(ci: MovieImportComponent; width: Fixed; height: Fixed): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0006, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetChunkSize(ci: MovieImportComponent; chunkSize: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0007, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetProgressProc(ci: MovieImportComponent; proc: MovieProgressUPP; refcon: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0008, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetAuxiliaryData(ci: MovieImportComponent; data: Handle; handleType: OSType): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0009, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetFromScrap(ci: MovieImportComponent; fromScrap: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0002, $000A, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportDoUserDialog(ci: MovieImportComponent; {CONST}VAR theFile: FSSpec; theData: Handle; VAR canceled: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000B, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportSetDuration(ci: MovieImportComponent; duration: TimeValue): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000C, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportGetAuxiliaryDataType(ci: MovieImportComponent; VAR auxType: OSType): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000D, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportValidate(ci: MovieImportComponent; {CONST}VAR theFile: FSSpec; theData: Handle; VAR valid: BOOLEAN): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000E, $7000, $A82A;
{$ENDC}
FUNCTION MovieImportGetFileType(ci: MovieImportComponent; VAR fileType: OSType): ComponentResult;
FUNCTION PreviewMakePreview(p: pnotComponent; VAR previewType: OSType; VAR previewResult: Handle; {CONST}VAR sourceFile: FSSpec; progress: ICMProgressProcRecordPtr): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0002, $7000, $A82A;
{$ENDC}
FUNCTION PreviewMakePreviewReference(p: pnotComponent; VAR previewType: OSType; VAR resID: INTEGER; {CONST}VAR sourceFile: FSSpec): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0003, $7000, $A82A;
{$ENDC}
FUNCTION PreviewEvent(p: pnotComponent; VAR e: EventRecord; VAR handledEvent: BOOLEAN): ComponentResult;
outputCount: LONGINT; { number of audio outputs (usually two) }
latency: LONGINT; { response time in µSec }
controllers: ARRAY [0..3] OF LONGINT; { array of 128 bits }
gmInstruments: ARRAY [0..3] OF LONGINT; { array of 128 bits }
gmDrums: ARRAY [0..3] OF LONGINT; { array of 128 bits }
END;
CONST
kVoiceCountDynamic = -1; { constant to use to specify dynamic voicing }
TYPE
ToneDescriptionPtr = ^ToneDescription;
ToneDescription = RECORD
synthesizerType: OSType; { synthesizer type }
synthesizerName: Str31; { name of instantiation of synth }
instrumentName: Str31; { preferred name for human use }
instrumentNumber: LONGINT; { inst-number used if synth-name matches }
gmNumber: LONGINT; { Best matching general MIDI number }
END;
CONST
kFirstDrumkit = 16384; { (first value is "no drum". instrument numbers from 16384->16384+128 are drumkits, and for GM they are _defined_ drumkits! }
kLastDrumkit = 16512;
{ InstrumentMatch }
kInstrumentMatchSynthesizerType = 1;
kInstrumentMatchSynthesizerName = 2;
kInstrumentMatchName = 4;
kInstrumentMatchNumber = 8;
kInstrumentMatchGMNumber = 16;
{ KnobFlags }
kKnobRealtime = 1; { Knob can be changed interactively as part of a sequence (ie knob can be changed at interrupt time) }
kKnobNextNote = 2; { Knob only takes effect on the next note played }
kKnobAction = 4; { setting the knob does something immediate }
kKnobNotInstrument = 8; { indicates that the knob isn't in the instrument handle }
kKnobAffectsOthers = 16; { other knobs will change value from this one }
kKnobMinorGroupStart = 64; { knob is first in some logical subgroup of knobs }
kKnobGroupStart = 128; { knob is first in some logical group of knobs }
{ One of these may be used at a time. }
kKnobTypeNumber = $00;
kKnobTypeBoolean = $1000;
kKnobTypeNote = $2000;
kKnobTypePan = $3000;
kKnobTypeInstrument = $4000; { knob value = reference to another instrument number }
kKnobTypeSetting = $5000; { knob value is 1 of n different things (eg, fm algorithms) }
kUnknownKnobValue = $7FFFFFFF; { a knob with this value means, we don't know it. }
TYPE
KnobDescriptionPtr = ^KnobDescription;
KnobDescription = RECORD
name: Str31;
lowValue: LONGINT;
highValue: LONGINT;
defaultValue: LONGINT; { a default instrument is made of all default values }
flags: LONGINT;
END;
InstrumentDataPtr = ^InstrumentData;
InstrumentData = RECORD
tone: ToneDescription;
knobCount: LONGINT;
knob: ARRAY [0..0] OF LONGINT;
END;
InstrumentDataHandle = ^InstrumentDataPtr;
FlatInstrumentPtr = ^FlatInstrument;
FlatInstrument = RECORD
tone: ToneDescription;
size: LONGINT; { size in bytes of the following data, including size field (excluding tonedescription) }
data: PACKED ARRAY [0..3] OF UInt8;
END;
InstrumentAboutInfoPtr = ^InstrumentAboutInfo;
InstrumentAboutInfo = RECORD
p: PicHandle;
author: Str255;
copyright: Str255;
other: Str255;
END;
MusicMIDIPacketPtr = ^MusicMIDIPacket;
MusicMIDIPacket = RECORD
length: INTEGER;
reserved: LONGINT;
data: PACKED ARRAY [0..248] OF UInt8;
END;
MusicMIDISendProcPtr = ProcPtr; { FUNCTION MusicMIDISend(self: MusicComponent; refCon: LONGINT; VAR mmp: MusicMIDIPacket): ComponentResult; }
MusicMIDISendUPP = UniversalProcPtr;
{ -------------------------------- }
CONST
kMusicFirstSelect = 0;
kMusicGetDescriptionSelect = 1;
kMusicGetPartSelect = 2;
kMusicSetPartSelect = 3;
kMusicSetInstrumentNumberSelect = 4;
kMusicGetInstrumentNumberSelect = 5;
kMusicStoreInstrumentSelect = 6;
kMusicGetInstrumentSelect = 7;
kMusicSetInstrumentSelect = 8;
kMusicDummyOne = 9;
kMusicDummyTwo = 10;
kMusicDummyThree = 11;
kMusicDummyFour = 12;
kMusicGetInstrumentKnobDescriptionSelect = 13;
kMusicGetDrumKnobDescriptionSelect = 14;
kMusicGetKnobDescriptionSelect = 15;
kMusicGetPartKnobSelect = 16;
kMusicSetPartKnobSelect = 17;
kMusicGetKnobSelect = 18;
kMusicSetKnobSelect = 19;
kMusicGetPartNameSelect = 20;
kMusicSetPartNameSelect = 21;
kMusicFindToneSelect = 22;
kMusicPlayNoteSelect = 23;
kMusicResetPartSelect = 24;
kMusicSetControllerSelect = 25;
kMusicGetControllerSelect = 26;
kMusicGetMIDIProcSelect = 27;
kMusicSetMIDIProcSelect = 28;
kMusicGetInstrumentNamesSelect = 29;
kMusicGetDrumNamesSelect = 30;
kMusicGetMasterTuneSelect = 31;
kMusicSetMasterTuneSelect = 32;
kMusicSetFlatInstrumentSelect = 33;
kMusicGetInstrumentAboutInfoSelect = 34;
notImplementedMusicErr = $8000F7CB;
cantSendToSynthesizerErr = $8000F7CA;
cantReceiveFromSynthesizerErr = $8000F7C9;
illegalVoiceAllocationErr = $8000F7C8;
illegalPartErr = $8000F7C7;
illegalChannelErr = $8000F7C6;
illegalKnobErr = $8000F7C5;
illegalKnobValueErr = $8000F7C4;
illegalInstrumentErr = $8000F7C3;
illegalControllerErr = $8000F7C2;
midiManagerAbsentErr = $8000F7C1;
synthesizerNotRespondingErr = $8000F7C0;
synthesizerErr = $8000F7BF;
illegalNoteChannelErr = $8000F7BE;
noteChannelNotAllocatedErr = $8000F7BD;
tunePlayerFullErr = $8000F7BC;
tuneParseErr = $8000F7BB;
kGMType = 'gm '; { subtype for General MIDI music component }
{
-----------------------------------------
Capabilities and Voice Allocation
-----------------------------------------
}
FUNCTION MusicGetPart(mc: MusicComponent; part: LONGINT; VAR midiChannel: LONGINT; VAR polyphony: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0002, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetPart(mc: MusicComponent; part: LONGINT; midiChannel: LONGINT; polyphony: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0003, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetDescription(mc: MusicComponent; VAR sd: SynthesizerDescription): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0001, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetInstrumentAboutInfo(mc: MusicComponent; part: LONGINT; VAR iai: InstrumentAboutInfo): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0022, $7000, $A82A;
{$ENDC}
{
-----------------------------------------
Instrument Loading and Storing
-----------------------------------------
}
FUNCTION MusicSetInstrumentNumber(mc: MusicComponent; part: LONGINT; instrumentNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0004, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetInstrumentNumber(mc: MusicComponent; part: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0005, $7000, $A82A;
{$ENDC}
FUNCTION MusicStoreInstrument(mc: MusicComponent; part: LONGINT; instrumentNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0006, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetInstrument(mc: MusicComponent; part: LONGINT; VAR iH: InstrumentDataHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0007, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetInstrument(mc: MusicComponent; part: LONGINT; iH: InstrumentDataHandle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0008, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetFlatInstrument(mc: MusicComponent; part: LONGINT; VAR flatInstrument: FlatInstrument): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0021, $7000, $A82A;
{$ENDC}
{
-----------------------------------------
Instrument Knobs
-----------------------------------------
}
FUNCTION MusicGetInstrumentKnobDescription(mc: MusicComponent; knobNumber: LONGINT; VAR mkd: KnobDescription): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $000D, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetDrumKnobDescription(mc: MusicComponent; knobNumber: LONGINT; VAR mkd: KnobDescription): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $000E, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetPartKnob(mc: MusicComponent; part: LONGINT; knobNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0010, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetPartKnob(mc: MusicComponent; part: LONGINT; knobNumber: LONGINT; knobValue: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0011, $7000, $A82A;
{$ENDC}
{
-----------------------------------------
Synthesizer Knobs
-----------------------------------------
}
FUNCTION MusicGetKnobDescription(mc: MusicComponent; knobNumber: LONGINT; VAR mkd: KnobDescription): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $000F, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetKnob(mc: MusicComponent; knobNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0012, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetKnob(mc: MusicComponent; knobNumber: LONGINT; knobValue: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0013, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetMasterTune(mc: MusicComponent; masterTune: Fixed): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0020, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetMasterTune(mc: MusicComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $001F, $7000, $A82A;
{$ENDC}
{
-----------------------------------------
Names of Instruments
-----------------------------------------
}
FUNCTION MusicGetPartName(mc: MusicComponent; part: LONGINT; VAR name: Str31): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0014, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetPartName(mc: MusicComponent; part: LONGINT; VAR name: Str31): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0015, $7000, $A82A;
{$ENDC}
FUNCTION MusicFindTone(mc: MusicComponent; VAR td: ToneDescription; VAR instrumentNumber: LONGINT; VAR fit: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0016, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetInstrumentNames(mc: MusicComponent; modifiableInstruments: LONGINT; VAR instrumentNames: Handle; VAR instrumentCategoryLasts: Handle; VAR instrumentCategoryNames: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $001D, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetDrumNames(mc: MusicComponent; modifiableInstruments: LONGINT; VAR instrumentNumbers: Handle; VAR instrumentNames: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $001E, $7000, $A82A;
{$ENDC}
{
-----------------------------------------
Realtime Actions
-----------------------------------------
}
FUNCTION MusicPlayNote(mc: MusicComponent; part: LONGINT; pitch: LONGINT; velocity: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0017, $7000, $A82A;
{$ENDC}
FUNCTION MusicResetPart(mc: MusicComponent; part: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0018, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetController(mc: MusicComponent; part: LONGINT; controllerNumber: LONGINT; controllerValue: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0019, $7000, $A82A;
{$ENDC}
FUNCTION MusicGetController(mc: MusicComponent; part: LONGINT; controllerNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001A, $7000, $A82A;
{$ENDC}
{
-----------------------------------------
Finding the Hardware
-----------------------------------------
}
FUNCTION MusicGetMIDIProc(mc: MusicComponent; VAR midiSendProc: MusicMIDISendUPP; VAR refCon: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001B, $7000, $A82A;
{$ENDC}
FUNCTION MusicSetMIDIProc(mc: MusicComponent; midiSendProc: MusicMIDISendUPP; refCon: LONGINT): ComponentResult;
FUNCTION NARegisterMusicDevice(na: NoteAllocator; synthType: OSType; VAR name: Str31; VAR connections: SynthesizerConnections): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0000, $7000, $A82A;
{$ENDC}
FUNCTION NAUnregisterMusicDevice(na: NoteAllocator; index: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0001, $7000, $A82A;
{$ENDC}
FUNCTION NAGetRegisteredMusicDevice(na: NoteAllocator; index: LONGINT; VAR synthType: OSType; VAR name: Str31; VAR connections: SynthesizerConnections; VAR mc: MusicComponent): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0014, $0002, $7000, $A82A;
{$ENDC}
FUNCTION NASetDefaultMIDIInput(na: NoteAllocator; VAR sc: SynthesizerConnections): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0015, $7000, $A82A;
{$ENDC}
FUNCTION NAGetDefaultMIDIInput(na: NoteAllocator; VAR sc: SynthesizerConnections): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0016, $7000, $A82A;
{$ENDC}
FUNCTION NASaveMusicConfiguration(na: NoteAllocator): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $0003, $7000, $A82A;
{$ENDC}
{
* Allocation
}
FUNCTION NANewNoteChannel(na: NoteAllocator; VAR noteRequest: NoteRequest; VAR outChannel: NoteChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0004, $7000, $A82A;
{$ENDC}
FUNCTION NADisposeNoteChannel(na: NoteAllocator; noteChannel: NoteChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0005, $7000, $A82A;
{$ENDC}
FUNCTION NAGetNoteChannelInfo(na: NoteAllocator; noteChannel: NoteChannel; VAR index: LONGINT; VAR part: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0006, $7000, $A82A;
{$ENDC}
FUNCTION NAUseDefaultMIDIInput(na: NoteAllocator; readHook: MusicMIDIReadHookUPP; refCon: LONGINT; flags: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0019, $7000, $A82A;
{$ENDC}
FUNCTION NALoseDefaultMIDIInput(na: NoteAllocator): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0000, $001A, $7000, $A82A;
{$ENDC}
{
* Setup
}
FUNCTION NAPrerollNoteChannel(na: NoteAllocator; noteChannel: NoteChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0007, $7000, $A82A;
{$ENDC}
FUNCTION NAUnrollNoteChannel(na: NoteAllocator; noteChannel: NoteChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0008, $7000, $A82A;
{$ENDC}
FUNCTION NAEngageNoteChannel(na: NoteAllocator; noteChannel: NoteChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0009, $7000, $A82A;
{$ENDC}
FUNCTION NADisengageNoteChannel(na: NoteAllocator; noteChannel: NoteChannel; silenceNotes: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $000A, $7000, $A82A;
{$ENDC}
FUNCTION NAGetNoteChannelState(na: NoteAllocator; noteChannel: NoteChannel; instrumentNumber: LONGINT; VAR state: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0017, $7000, $A82A;
{$ENDC}
FUNCTION NASetNoteChannelState(na: NoteAllocator; noteChannel: NoteChannel; instrumentNumber: LONGINT; state: Handle): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0018, $7000, $A82A;
{$ENDC}
FUNCTION NAResetNoteChannel(na: NoteAllocator; noteChannel: NoteChannel): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $000C, $7000, $A82A;
{$ENDC}
FUNCTION NASetNoteChannelVolume(na: NoteAllocator; noteChannel: NoteChannel; volume: Fixed): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $000B, $7000, $A82A;
{$ENDC}
FUNCTION NASetInstrument(na: NoteAllocator; noteChannel: NoteChannel; VAR instrumentData: InstrumentData): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001E, $7000, $A82A;
{$ENDC}
FUNCTION NASetFlatInstrument(na: NoteAllocator; noteChannel: NoteChannel; VAR flatInstrument: FlatInstrument): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001D, $7000, $A82A;
{$ENDC}
{
* Control
}
FUNCTION NAPlayNote(na: NoteAllocator; noteChannel: NoteChannel; pitch: LONGINT; velocity: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000D, $7000, $A82A;
{$ENDC}
FUNCTION NASetController(na: NoteAllocator; noteChannel: NoteChannel; controllerNumber: LONGINT; controllerValue: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000E, $7000, $A82A;
{$ENDC}
FUNCTION NASetKnob(na: NoteAllocator; noteChannel: NoteChannel; knobNumber: LONGINT; knobValue: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $000F, $7000, $A82A;
{$ENDC}
FUNCTION NAFindNoteChannelTone(na: NoteAllocator; noteChannel: NoteChannel; VAR td: ToneDescription; VAR instrumentNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0010, $7000, $A82A;
{$ENDC}
FUNCTION NASetNoteChannelInstrument(na: NoteAllocator; noteChannel: NoteChannel; instrumentNumber: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0011, $7000, $A82A;
{$ENDC}
{$ENDC}
{$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
{
* User Interface
}
FUNCTION NAPickInstrument(na: NoteAllocator; filterProc: ModalFilterUPP; prompt: StringPtr; VAR sd: ToneDescription; flags: LONGINT; refCon: LONGINT; VAR flatList: Ptr; VAR flatChoiceIndex: LONGINT): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $001C, $0012, $7000, $A82A;
{$ENDC}
FUNCTION NAStuffToneDescription(na: NoteAllocator; gmNumber: LONGINT; VAR td: ToneDescription): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $001B, $7000, $A82A;
{$ENDC}
FUNCTION NAPickArrangement(na: NoteAllocator; filterProc: ModalFilterUPP; prompt: StringPtr; partCount: LONGINT; VAR noteRequestList: NoteRequest; t: Track; songName: StringPtr): ComponentResult;
FUNCTION TCGetCurrentTimeCode(mh: MediaHandler; VAR frameNum: LONGINT; VAR tcdef: TimeCodeDef; VAR tcrec: TimeCodeRecord; VAR srcRefH: UserData): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0010, $0101, $7000, $A82A;
{$ENDC}
FUNCTION TCGetTimeCodeAtTime(mh: MediaHandler; mediaTime: TimeValue; VAR frameNum: LONGINT; VAR tcdef: TimeCodeDef; VAR tcdata: TimeCodeRecord; VAR srcRefH: UserData): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0014, $0102, $7000, $A82A;
{$ENDC}
FUNCTION TCTimeCodeToFrameNumber(mh: MediaHandler; VAR tcdef: TimeCodeDef; VAR tcrec: TimeCodeRecord; VAR frameNumber: LONGINT): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0104, $7000, $A82A;
{$ENDC}
FUNCTION TCFrameNumberToTimeCode(mh: MediaHandler; frameNumber: LONGINT; VAR tcdef: TimeCodeDef; VAR tcrec: TimeCodeRecord): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0105, $7000, $A82A;
{$ENDC}
FUNCTION TCTimeCodeToString(mh: MediaHandler; VAR tcdef: TimeCodeDef; VAR tcrec: TimeCodeRecord; tcStr: StringPtr): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $000C, $0103, $7000, $A82A;
{$ENDC}
FUNCTION TCGetSourceRef(mh: MediaHandler; tcdH: TimeCodeDescriptionHandle; VAR srefH: UserData): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0106, $7000, $A82A;
{$ENDC}
FUNCTION TCSetSourceRef(mh: MediaHandler; tcdH: TimeCodeDescriptionHandle; srefH: UserData): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0107, $7000, $A82A;
{$ENDC}
FUNCTION TCSetTimeCodeFlags(mh: MediaHandler; flags: LONGINT; flagsMask: LONGINT): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0008, $0108, $7000, $A82A;
{$ENDC}
FUNCTION TCGetTimeCodeFlags(mh: MediaHandler; VAR flags: LONGINT): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $0109, $7000, $A82A;
{$ENDC}
FUNCTION TCSetDisplayOptions(mh: MediaHandler; textOptions: TCTextOptionsPtr): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $010A, $7000, $A82A;
{$ENDC}
FUNCTION TCGetDisplayOptions(mh: MediaHandler; textOptions: TCTextOptionsPtr): HandlerError;
{$IFC NOT GENERATINGCFM}
INLINE $2F3C, $0004, $010B, $7000, $A82A;
{$ENDC}
{ UPP call backs }
CONST
uppSGDataProcInfo = $003BFFE0;
uppSGModalFilterProcInfo = $00003FD0;
uppSGGrabProcInfo = $00000EF0;
uppSGGrabCompleteProcInfo = $00003EF0;
uppSGDisplayProcInfo = $0000FEF0;
uppSGCompressProcInfo = $00000EF0;
uppSGCompressCompleteProcInfo = $0000FEF0;
uppSGAddFrameProcInfo = $0003FEF0;
uppSGTransferFrameProcInfo = $0000FEF0;
uppSGGrabCompressCompleteProcInfo = $0000FFF0;
uppSGDisplayCompressProcInfo = $0003FFF0;
uppVdigIntProcInfo = $000003C0;
uppSCModalFilterProcInfo = $00003FD0;
uppSCModalHookProcInfo = $00003EE0;
uppDataHCompletionProcInfo = $00000BC0;
uppMusicMIDISendProcInfo = $00000FF0;
uppMusicMIDIReadHookProcInfo = $000003F0;
uppTuneCallBackProcInfo = $000003C0;
uppTunePlayCallBackProcInfo = $00000FC0;
FUNCTION NewSGDataProc(userRoutine: SGDataProcPtr): SGDataUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGModalFilterProc(userRoutine: SGModalFilterProcPtr): SGModalFilterUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGGrabProc(userRoutine: SGGrabProcPtr): SGGrabUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGGrabCompleteProc(userRoutine: SGGrabCompleteProcPtr): SGGrabCompleteUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGDisplayProc(userRoutine: SGDisplayProcPtr): SGDisplayUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGCompressProc(userRoutine: SGCompressProcPtr): SGCompressUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGCompressCompleteProc(userRoutine: SGCompressCompleteProcPtr): SGCompressCompleteUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGAddFrameProc(userRoutine: SGAddFrameProcPtr): SGAddFrameUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGTransferFrameProc(userRoutine: SGTransferFrameProcPtr): SGTransferFrameUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGGrabCompressCompleteProc(userRoutine: SGGrabCompressCompleteProcPtr): SGGrabCompressCompleteUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSGDisplayCompressProc(userRoutine: SGDisplayCompressProcPtr): SGDisplayCompressUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewVdigIntProc(userRoutine: VdigIntProcPtr): VdigIntUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSCModalFilterProc(userRoutine: SCModalFilterProcPtr): SCModalFilterUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewSCModalHookProc(userRoutine: SCModalHookProcPtr): SCModalHookUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewDataHCompletionProc(userRoutine: DataHCompletionProcPtr): DataHCompletionUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewMusicMIDISendProc(userRoutine: MusicMIDISendProcPtr): MusicMIDISendUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewMusicMIDIReadHookProc(userRoutine: MusicMIDIReadHookProcPtr): MusicMIDIReadHookUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewTuneCallBackProc(userRoutine: TuneCallBackProcPtr): TuneCallBackUPP;
{$IFC NOT GENERATINGCFM }
INLINE $2E9F;
{$ENDC}
FUNCTION NewTunePlayCallBackProc(userRoutine: TunePlayCallBackProcPtr): TunePlayCallBackUPP;
FUNCTION CallSGModalFilterProc(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; refCon: LONGINT; userRoutine: SGModalFilterUPP): BOOLEAN;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGGrabProc(c: SGChannel; bufferNum: INTEGER; refCon: LONGINT; userRoutine: SGGrabUPP): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGGrabCompleteProc(c: SGChannel; bufferNum: INTEGER; VAR done: BOOLEAN; refCon: LONGINT; userRoutine: SGGrabCompleteUPP): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGDisplayProc(c: SGChannel; bufferNum: INTEGER; VAR mp: MatrixRecord; clipRgn: RgnHandle; refCon: LONGINT; userRoutine: SGDisplayUPP): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGCompressProc(c: SGChannel; bufferNum: INTEGER; refCon: LONGINT; userRoutine: SGCompressUPP): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGCompressCompleteProc(c: SGChannel; bufferNum: INTEGER; VAR done: BOOLEAN; VAR ci: SGCompressInfo; refCon: LONGINT; userRoutine: SGCompressCompleteUPP): ComponentResult;
FUNCTION CallSGTransferFrameProc(c: SGChannel; bufferNum: INTEGER; VAR mp: MatrixRecord; clipRgn: RgnHandle; refCon: LONGINT; userRoutine: SGTransferFrameUPP): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGGrabCompressCompleteProc(c: SGChannel; VAR done: BOOLEAN; VAR ci: SGCompressInfo; VAR t: TimeRecord; refCon: LONGINT; userRoutine: SGGrabCompressCompleteUPP): ComponentResult;
{$IFC NOT GENERATINGCFM}
INLINE $205F, $4E90;
{$ENDC}
FUNCTION CallSGDisplayCompressProc(c: SGChannel; dataPtr: Ptr; desc: ImageDescriptionHandle; VAR mp: MatrixRecord; clipRgn: RgnHandle; refCon: LONGINT; userRoutine: SGDisplayCompressUPP): ComponentResult;
FUNCTION CallSCModalFilterProc(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER; refcon: LONGINT; userRoutine: SCModalFilterUPP): BOOLEAN;